home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / PowerMacOberon feb96 / Source / Modules.Mod (.txt) < prev    next >
Encoding:
Oberon Text  |  1994-07-26  |  2.7 KB  |  51 lines  |  [.Ob./.Ob4]

  1. Syntax10.Scn.Fnt
  2. Syntax10b.Scn.Fnt
  3. MODULE Modules;  (*HM 15.4.94/2.6.94; for PowerMac / mah 25.7.94 long module names *)
  4. CONST
  5.     done* = 0; fileNotFound* = 1; invalidObjFile* = 2; keyMismatch* = 3; notEnoughMemory* = 4;
  6.     modNotFound* = 5; cmdNotFound* = 6; refCntNotZero*= 7;
  7.     Command* = PROCEDURE;
  8.     CommandName* = ARRAY 24 OF CHAR;
  9.     CommandPtr* = POINTER TO CommandDesc;
  10.     CommandDesc* = RECORD
  11.         name-: CommandName;
  12.         offset-: INTEGER
  13.     END;
  14.     Module* = POINTER TO ModuleDescriptor;
  15.     ModuleName* = ARRAY 32 OF CHAR;
  16.     ModuleDescriptor* = RECORD
  17.         link-: Module;
  18.         name-: ModuleName;
  19.         refcnt-, initialized: INTEGER;
  20.         key-, datasize-, blocksize-, refsize-: LONGINT;
  21.         consize-, codesize-, nofentries-, nofcmds-, nofimps-, noftds-, nofptrs-, noftraps-: INTEGER;
  22.         block-, SB-, PC-, entries-, commands-, imports-, typedescs-, pointers-, traps-, refs-: LONGINT
  23.     END;
  24.     TrapDescPtr* = POINTER TO TrapDesc;
  25.     TrapDesc* = RECORD
  26.         offset-, trapno-: INTEGER
  27.     END;
  28.     imported-, importing-: ModuleName;
  29.     res-: INTEGER;
  30.     modules-: Module;
  31.     free: PROCEDURE (name: ARRAY OF CHAR; all: BOOLEAN);
  32.     thisCommand: PROCEDURE (mod: Module; name: ARRAY OF CHAR; VAR cmd: Command);
  33.     thisMod: PROCEDURE (name: ARRAY OF CHAR): Module;
  34.     ThisLib-: PROCEDURE (name: ARRAY OF CHAR; ppc: BOOLEAN): LONGINT;
  35.     ThisSym-: PROCEDURE (connID: LONGINT; name: ARRAY OF CHAR): LONGINT;
  36.     NewRec*: PROCEDURE (tag: LONGINT): LONGINT;
  37.     NewSys*: PROCEDURE (size: LONGINT): LONGINT;
  38.     NewArr*: PROCEDURE (eltag, nofelem, nofdim: LONGINT): LONGINT;
  39.     Print-: PROCEDURE (s: ARRAY OF CHAR; n: LONGINT);
  40. PROCEDURE Free* (name: ARRAY OF CHAR; all: BOOLEAN);
  41. BEGIN free(name, all)
  42. END Free;
  43. PROCEDURE ThisCommand* (mod: Module; name: ARRAY OF CHAR): Command;
  44.     VAR cmd: Command;
  45. BEGIN thisCommand(mod, name, cmd); RETURN cmd
  46. END ThisCommand;
  47. PROCEDURE ThisMod* (name: ARRAY OF CHAR): Module;
  48. BEGIN RETURN thisMod(name)
  49. END ThisMod;
  50. END Modules.
  51.